Systems and methods for reducing complexity in modulation coding scheme (MCS) adaptation

ABSTRACT

The computational complexity of MCS adaptation for linear and non-linear MU-MIMO can be reduced by avoiding QR decomposition during subsequent stages of MCS adaptation. For instance, QR decomposition can be avoided in later stages of MCS adaptation by computing an instant upper right triangular matrix (R 1 ) directly from an earlier upper right triangular matrix (R) and an earlier unitary matrix (U), which were obtained during a previous stage of MCS adaptation. As such, the instant upper right triangular matrix (R 1 ) is obtained without performing QR decomposition on an instant Hermitian matrix (H 1   H ), thereby allowing MCS adaptation to be performed for the new user group with less complexity. Additionally, computational complexity of MCS adaptation for linear MU-MIMO can be further reduced by avoiding matrix inversion during subsequent stages of MCS adaptation.

TECHNICAL FIELD

The present disclosure relates generally to wireless communications, and, in particular embodiments, to systems and methods for reducing complexity in modulation coding scheme (MCS) adaptation.

BACKGROUND

Modern communications networks utilize modulation coding scheme (MCS) adaptation to match signal transmission parameters to conditions of a radio link. Specifically, MCS adaptation is used to predict the coding rate for users during uplink/downlink scheduling, and is particularly useful when pairing users during multi-user multiple input multiple output (MU-MIMO) downlink scheduling. One drawback is that MCS adaptation becomes increasingly complex as users are added to the network. For instance, conventional MCS adaptation for MU-MIMO downlink scheduling can approach an order of cubic the number of transmit antenna (e.g., O(N³) for a system having N transmit antennas). Accordingly, techniques and mechanisms for reducing the complexity of MCS adaptation are desired in order to better preserve network resources, e.g., processing or otherwise.

SUMMARY OF THE INVENTION

Technical advantages are generally achieved by embodiments of this disclosure, which describe systems and methods for reducing complexity during MCS adaptation.

In accordance with an embodiment, a method for user selection is provided. In this example, the method includes selecting users for an initial user group and computing initial modulation coding schemes (MCSs) for users in the initial user group. Computing the initial MCSs for the users in the initial user group may include performing an initial QR decomposition operation for the initial user group. The method further includes adding a new user to the initial user group to obtain a new user group and computing a new MCS for the new user in the new user group, wherein computing the new MCS for the new user includes calculating the new MCS directly using information obtained from the initial QR decomposition operation and without performing a QR decomposition operation for the new user group. An apparatus for performing this method is also provided.

In accordance with another embodiment, another method for user selection is provided. In this example, the method includes selecting users for an initial user group, performing QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), adding a new user to the initial user group to obtain a new user group, and performing modulation coding scheme (MCS) adaptation for the new user group. The new user group associated with a new Hermitian matrix (H₁ ^(H)), and performing MCS adaptation for the new user group includes computing a last column (r₁) of a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)) directly from at least the initial unitary matrix (Q) and the initial upper triangular matrix (R), thereby obtaining the new upper triangular matrix (R₁) without performing QR decomposition on the new Hermitian matrix (H₁ ^(H)), and calculating MCSs for users in the new user group in accordance with the new upper triangular matrix (R₁).

In accordance with yet another embodiment, another method for user selection is provided. In this example, the method includes adding a first new user to an initial user group to obtain a first new user group. The first new user group associated with a first new Hermitian matrix (H₁ ^(H)). The method further includes computing a first new unitary matrix (Q₁) and a first new upper triangular matrix (R₁) corresponding to the first new Hermitian matrix (H₁ ^(H)), adding a second new user to the initial user group to obtain a second new user group, the second new user group associated with a second new channel matrix (H₂), computing a second new unitary matrix (Q₂) and a second new upper triangular matrix (R₂) corresponding to the second new Hermitian matrix (H₂ ^(H)), adding both the first new user and the second new user to the initial user group to obtain a third new user group, and performing modulation coding scheme (MCS) adaptation for the third new user group. The third new user group associated with a third new channel matrix (H₁₂), and performing MCS adaptation for the third new user group includes computing a last column (r₁₂) of a third new upper triangular matrix (R₁₂) corresponding to the third new channel matrix (H₁₂) directly from at least the first new unitary matrix (Q₁), the first new upper triangular matrix (R₁), the second new unitary matrix (Q₂), and the second new upper triangular matrix (R₂), thereby obtaining the third new upper triangular matrix (R₁₂) without performing QR decomposition on the third new Hermitian matrix (H₁₂ ^(H)), and predicting MCSs for users in the new user group in accordance with the third new upper triangular matrix (R₁₂). An Apparatus for performing this method is also provided.

In accordance with yet another embodiment, another method for user selection is provided. In this example, the method includes selecting users for an initial user group for which an initial channel matrix (H) corresponds, performing QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), inverting the upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R⁻¹), adding a new user to the initial user group to obtain a new user group, and performing modulation coding scheme (MCS) adaptation for the new user group. The new user group is associated with a new Hermitian matrix (H₁ ^(H)), and performing MCS adaptation for the new user group includes computing a new unitary matrix (Q₁) and a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)), computing a last column (s₁) of a new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the new upper triangular matrix (R₁) directly from at least the new unitary matrix (Q₁) and a last column (r₁) of the new upper triangular matrix (R₁), thereby obtaining the new inverted upper triangular matrix (R₁ ⁻¹) without performing matrix inversion on the new upper triangular matrix (R₁), and predicting MCSs for users in the new user group in accordance with the new inverted upper triangular matrix (R₁ ⁻¹). An apparatus for performing this method is also provided.

SUMMARY OF THE FIGURES

For a more complete understanding of the present disclosure, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates a wireless communications network.

FIG. 2 illustrates a wireless communications network configured for MU-MIMO;

FIG. 3 illustrates a flowchart of an embodiment method for performing MCS adaptation to predict coding rates during non-linear MU-MIMO user selection;

FIG. 4 illustrates a flowchart of another embodiment method for performing MCS adaptation to predict coding rates during non-linear MU-MIMO user selection;

FIG. 5 illustrates an embodiment method for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection;

FIG. 6 illustrates another embodiment method for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection; and

FIG. 7 illustrates a high-level block diagram of a communications device.

Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of this disclosure and are not necessarily drawn to scale.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The making and using of the presently disclosed embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.

Much of the complexity associated with MCS adaptation for MU-MIMO is attributable to processing related to QR decomposition, which is a computation performed to calculate MCSs for users in a user group. More specifically, QR decomposition is performed on a Hermitian MU-MIMO channel matrix (H^(H)) corresponding to a new user group in order to obtain an upper-right triangular matrix (R). The upper-right triangular matrix (R) (or an inverse thereof) is used to calculate the MCSs corresponding to a MU-MIMO channel extending between the transmitter and the users in the instant user group. During conventional MCS adaptation, QR decomposition is performed for each evaluated user group. For instance, QR decomposition is performed for each possible user group computation when user selection is based on a brute-force or exhaustive search approach. As a result, the complexity associated with conventional MCS adaptation for MU-MIMO downlink scheduling can approach an order of cubic the number of transmit antenna (e.g., O(N³) for a system having N transmit antennas).

Aspects of this disclosure reduce the computational complexity of MCS adaptation for MU-MIMO by circumventing QR decomposition during subsequent stages of MCS adaptation. More specifically, an instant upper right triangular matrix (R₁) is computed directly from an earlier upper right triangular matrix (R) and an earlier unitary matrix (U), which were obtained during an earlier stage of MCS adaptation. As such, the instant upper right triangular matrix (R₁) is obtained without performing QR decomposition on the instant Hermitian matrix (H₁ ^(H)). Additional aspects of this disclosure circumvent inversion of the instant upper right triangular matrix (R₁) to further reduce the computational complexity of MCS adaptation during non-linear MU-MIMO user selection. As discussed herein, calculating MCSs for users in a user group refers to any computation relating to the selection of a coding and modulation scheme for transmissions to users in the user group. For instance, calculating MCSs for a user group may include calculating/predicting Shannon rates for users in the user group based on an upper right triangular matrix (e.g., obtained through QR decomposition or alternative mechanisms described herein), and then mapping the Shannon rates to MCSs for users in the user group. Mapping the Shannon rates to MCSs of users in the user group may be achieved in a variety of ways, some of which are discussed in chapter 9 of Cisco Wireless LAN Configuration Guide (Release 7.0.116.0), which is incorporated herein by reference as if reproduced in its entirety. For instance, table 9-3 in the Cisco Wireless LAN Configuration Guide shows a mapping of required link SNR (last column) to MCS (second column). Other mappings may also be used.

FIG. 1 illustrates a wireless network 100 comprising an eNBs 110 configured to provide wireless access to a plurality of UEs 120-160 in a cellular coverage area (cell) 101. The eNB 110 may be any device configured to provide wireless access, and may be any one of a number of wireless devices including NodeBs, base stations, communications controllers, controllers, femtocells, home base stations, etc. The UEs 120-160 may be any device that allows a user to access the wireless network 100, and may be commonly referred to as mobile stations, subscribers, terminals, users, etc. In some embodiments, the wireless network 100 may include other wireless devices (not shown), including relays, femtocells, picocells, etc. As depicted in FIG. 1, the UEs 110-160 may communicate with the eNB 110 over the wireless links (dashed arrows). In some systems, multi-antenna transmission techniques may be used to communicate over one or more of the wireless links in order to improve wireless performance (e.g., throughput, coverage, etc.) of the wireless network 100. As discussed herein, the terms user, mobile station, terminal, user terminal, subscriber, subscriber device, station, and UE may be used interchangeably. User groups may be selected by a network controller, which may be an eNB or a central controller scheduler.

FIG. 2 illustrates a wireless network 200 in which an eNB 210 is configured to perform multi-antenna downlink transmissions to the UEs 220-280. In embodiments, the eNB 210 may perform multi-antenna downlink transmissions in accordance with a linear or non-linear MU-MIMO transmission technique, which may include assigning spatial resources to UEs 220-280. More specifically, the eNB 210 may perform MCS adaptation to determine which group of the UEs 220-280 (referred to herein as a ‘user group’) should be scheduled for a given time-frequency instance, as well as to determine which precoding weights (e.g., spatial resources) to assign to those users. MCS adaptation may include computing a utility function (also called a sum of utility functions or ‘sum utility function’ for short) for at least some of the possible user groups/combinations to determine which pairing of users maximizes the utility function (also called a sum of utility functions). The sum utility function may be determined in accordance with various weighted factors, such as coverage, throughput, latency, and others, and may be used a general yardstick for judging the performance of the network within the context of objectives set forth by the network administrator. When an exhaustive search is used, all possible user group combinations are considered. When a non-exhaustive search (e.g., schedule and pair approach, etc.) is used, fewer than all possible user group combinations are considered.

Conventional MCS adaptation performs QR decomposition for each evaluated user group. Aspects of this disclosure provide an alternative to QR decomposition during subsequent stages of MCS adaptation for non-linear MU-MIMO. FIG. 3 illustrates a method 300 for performing MCS adaptation to calculate MCSs during non-linear MU-MIMO user selection, as might be performed by a network controller. The method 300 begins at step 310, where the network controller selects users for an initial user group. The method 300 then proceeds to step 320, where the network controller computes an initial Hermitian matrix (H^(H)) of an initial channel matrix (H) associated with the initial user group. Thereafter, the method 300 proceeds to step 330, where the network controller performs QR decomposition on the initial Hermitian matrix (H^(H)) to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R). Next, the method 300 proceeds to step 340, where the network controller adds a first user to the initial user group to obtain a new user group. Subsequently, the method 300 proceeds to step 350, where the network controller computes an initial Hermitian matrix (H₁ ^(H)) of a first channel matrix (H₁) associated with the new user group.

Next, the method 300 proceeds to step 360, where the network controller computes a first unitary matrix (Q₁) corresponding to the first Hermitian matrix (H₁ ^(H)) directly from the initial unitary matrix (Q). That is to say, the network controller computes the first unitary matrix (Q₁) without performing QR decomposition on the first Hermitian matrix (H₁ ^(H)). More specifically, the network controller computes the last column (e₁) of the first unitary matrix (Q₁) in accordance with the formula:

${e_{1} = \frac{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}{{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}}},$ where h₁ ^(H) is a column in the first Hermitian matrix (H₁ ^(H)) that corresponds to the new user, proj_(q) _(k) ^(h) ¹ ^(H) is a vector projection of the h₁ ^(H) onto a k^(th) column (q_(k)) of the initial unitary matrix (Q), and K is a number of users in the initial user group.

Thereafter, the method 300 proceeds to step 370, where the network controller computes a first upper triangular matrix (R₁) corresponding to the first Hermitian matrix (H₁ ^(H)) directly from the first unitary matrix (Q₁) and the initial upper triangular matrix (R). That is to say, the network controller computes the first upper triangular matrix (R₁) without performing QR decomposition on the first Hermitian matrix (H₁ ^(H)). More specifically, the elements of the last column (r₁) of the first upper triangular matrix (R₁) are computed in accordance with the following formula:

$\left\lbrack r_{1} \right\rbrack_{k} = \left\{ {\begin{matrix} \left\langle {q_{k},h_{1}^{H}} \right\rangle & {{k = 1},\ldots\mspace{14mu},K} \\ \left\langle {e_{1},h_{1}^{H}} \right\rangle & {k = {K + 1}} \end{matrix},} \right.$ where [r₁]_(k) is a value for a k^(th) element of the last column (r₁) of the first upper triangular matrix (R₁), and where (K+1) is a number of users in the first new user group.

Finally, the method 300 proceeds to step 380, where the network controller uses the first upper triangular matrix (R₁) to calculate MCSs for users in the new user group. More specifically, the MCS for each user in the new user group in accordance with the formula:

${r_{k} = {\log\left( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} \right)}},$ where r_(k) is a calculated rate for a k^(th) user in the first new user group.

Aspects of this disclosure can also be applied to later stages of MCS adaptation. FIG. 4 illustrates a method 400 for performing MCS adaptation to calculate coding rates during non-linear MU-MIMO user selection, as might be performed by a network controller. The method 400 begins at step 410, where the network controller adds a first new user to an initial user group. Next, the method 400 proceeds to step 420, where the network controller computes a first upper triangular matrix (R₁) and a first unitary matrix (Q₁) corresponding to a first channel matrix (H₁) associated with the first new user group. The first upper triangular matrix (R₁) and a first unitary matrix (Q₁) may be computed directly from a known upper triangular matrix (R) and a known unitary matrix (Q) corresponding to the initial user group using techniques discussed supra in FIG. 3. Alternatively, the first upper triangular matrix (R₁) and a first unitary matrix (Q₁) may be computed by performing QR decomposition on a first Hermitian matrix (H₁ ^(H)) of the first channel matrix (H₁).

Thereafter, the method 400 proceeds to step 430, where the network controller adds a second new user to the initial user group to obtain a second new user group. Subsequently, the method 400 proceeds to step 440, where the network controller computes a second upper triangular matrix (R₂) and a second unitary matrix (Q2) corresponding to a second channel matrix (H₂) associated with the second new user group. The second upper triangular matrix (R₂) and the second unitary matrix (Q₂) may be computed directly from the known upper triangular matrix (R) and the known unitary matrix (Q) corresponding to the initial user group using techniques discussed supra in FIG. 3. Alternatively, the second upper triangular matrix (R₂) and the second unitary matrix (Q₂) may be computed by performing QR decomposition on a second Hermitian matrix (H₂ ^(H)) of the second channel matrix (H₂).

Next, the method 400 proceeds to step 450, where the network controller adds both the first user and the second new user to the initial user group to obtain a combined user group. Thereafter, the method 400 proceeds to step 460, where the network controller computes a third Hermitian matrix (H₁₂ ^(H)) for a third channel matrix (H₁₂) associated with the combined user group. Subsequently, the method 400 proceeds to step 470, where the network controller computes a third unitary matrix (Q₁₂) corresponding to the third Hermitian matrix (H₁₂ ^(H)) directly from the first unitary matrix (Q₁) and the second unitary matrix (Q₂). For example, the network controller computes the third unitary matrix (Q₁₂) without performing QR decomposition on the third Hermitian matrix (H₁₂ ^(H)). More specifically, the third unitary matrix (Q₁₂) is expressed as follows: Q₁₂=[Q₁ e₁₂]_(N×(K+2)), where e₁₂ is the last column of the third unitary matrix (Q₁₂). The last column (e₁₂) may be computed in accordance with the formula:

${e_{12} = \frac{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}{{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}}},$ where h₂ ^(H) is a column in the third Hermitian matrix (H₁₂ ^(H)) that corresponds to the second new user, proj_(q) _(k) ^(h) ² ^(H) is a vector projection of the h₂ ^(H) onto a k^(th) column (q_(k)) of the first unitary matrix (Q₁), and K is a number of users in the initial user group.

Next, the method 400 proceeds to step 480, where the network controller computes a third upper triangular matrix (R₁₂) corresponding to the third Hermitian matrix (H₁₂ ^(H)) directly from the first upper triangular matrix (R₁), the second upper triangular matrix (R₂), and third unitary matrix (Q₁₂). That is to say, the third upper triangular matrix (R₁₂) is computed without performing QR decomposition on the third Hermitian matrix (H₁₂ ^(H)). More specifically, the third upper triangular matrix (R₁₂) may be expressed as follows:

${R_{12} = \begin{bmatrix} \underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R_{1}} & r_{12} \end{bmatrix}_{{({K + 2})} \times {({K + 2})}}},$ where r₁₂ is the last column of the third upper triangular matrix (R₁₂). The last column (r₁₂) may be computed in accordance with the formula:

$\left\lbrack r_{12} \right\rbrack_{k} = \left\{ {\begin{matrix} \left\langle {q_{k},h_{12}^{H}} \right\rangle & {{k = 1},\ldots\mspace{14mu},K} \\ \left\langle {e_{1},h_{12}^{H}} \right\rangle & {k = {K + 1}} \\ \left\langle {e_{12},h_{12}^{H}} \right\rangle & {k = {K + 2}} \end{matrix},} \right.$ where [r₁₂]_(k) is a value for a k^(th) element of the last column (r₁₂) of the third upper triangular matrix (R₁₂), and where (K+1) is a number of users in the first new user group, and where (K+2) is a number of users in the third new user group. Finally, the method 400 proceeds to step 490, where the network controller uses the third upper triangular matrix (R₁₂) to calculate MCSs for users in the combined user group.

Aspects of this disclosure also provide an alternative to QR decomposition during subsequent stages of MCS adaptation for linear MU-MIMO. FIG. 5 illustrates a method 500 for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection, as might be performed by a network controller. The method 500 begins at step 510, where the network controller selects users for an initial user group. The method 500 then proceeds to step 520, where the network controller computes an initial Hermitian matrix (H^(H)) of an initial channel matrix (H) associated with the initial user group. Thereafter, the method 500 proceeds to step 530, where the network controller performs QR decomposition on the initial Hermitian matrix (H^(H)) to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R). Next, the method 500 proceeds to step 540, where the network controller inverts the initial upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R⁻¹). Thereafter, the method 500 proceeds to step 550, where the network controller adds a first user to the initial user group to obtain a new user group. Subsequently, the method 500 proceeds to step 560, where the network controller computes an initial Hermitian matrix (H₁ ^(H)) of a first channel matrix (H₁) associated with the new user group. Thereafter, the method 500 proceeds to steps 570 and 580, where the network controller computes a first unitary matrix (Q₁) and a first upper triangular matrix (R₁) corresponding to the first Hermitian matrix (H₁ ^(H)) directly from the initial unitary matrix (Q) and the initial upper triangular matrix (R) in a manner similar to that described in FIG. 3, e.g., without performing QR decomposition on the first Hermitian matrix (H₁ ^(H)).

Next, the method proceeds to step 585, where the network controller computes a first inverted upper triangular matrix (R₁ ⁻¹) of the first upper triangular matrix (R₁) recursively without performing matrix inversion on the first upper triangular matrix (R₁). More specifically, the first inverted upper triangular matrix (R₁ ⁻¹) may be expressed as follows:

${R_{1}^{- 1} = \left\lfloor {\underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R^{- 1}}\mspace{14mu}\underset{1}{s}} \right\rfloor},$ where s₁ is the last column of the first inverted upper triangular matrix (R₁ ⁻¹).

The last column (s₁) can be computed in accordance with the following:

${\left\lbrack s_{1} \right\rbrack_{K + 1} = \frac{1}{\left\lbrack r_{1} \right\rbrack_{K + 1}}},{\left\lbrack s_{1} \right\rbrack_{K} = {{\frac{- \left\lbrack r_{1} \right\rbrack_{K}}{{\lbrack R\rbrack_{KK}\lbrack r\rbrack}_{K + 1}}\mspace{14mu}{{and}\left\lbrack s_{1} \right\rbrack}_{i - 1}} = {\frac{- 1}{\lbrack R\rbrack_{{({i - 1})}{({i - 1})}}}\left( {{\sum\limits_{j = 1}^{K}{\lbrack R\rbrack_{{({i - 1})}j}\left\lbrack s_{1} \right\rbrack}_{j}} - \frac{\left\lbrack r_{1} \right\rbrack_{i - 1}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}} \right)}}},{i = K},{K - 1},\ldots\mspace{14mu},2$

In embodiments, the above may be consolidated as follows:

$\left\lbrack s_{1} \right\rbrack_{k} = \left\{ {\begin{matrix} {{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}\left( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\left\lbrack s_{1} \right\rbrack}_{j}} - \frac{\left\lbrack r_{1} \right\rbrack_{k}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}} \right)},} & {{k = 1},\ldots\mspace{14mu},\left( {K - 1} \right)} \\ {\frac{- \left\lbrack r_{1} \right\rbrack_{K}}{{\lbrack R\rbrack_{KK}\left\lbrack r_{1} \right\rbrack}_{K + 1}},} & {k = K} \\ {\frac{1}{\left\lbrack r_{1} \right\rbrack_{K + 1}},} & {k = {K + 1}} \end{matrix}.} \right.$

Finally, the method 500 proceeds to step 590, where the network controller uses the first inverted upper triangular matrix (R₁ ⁻¹) to compute a scaling factor (c) used for calculating MCSs for users in the new user group. More specifically, the scaling factor (c) is computed in accordance with the following formula:

${c = \frac{1}{\sqrt{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\left\lbrack R^{- 1} \right\rbrack_{k}}^{2}}}}},$ where d_(k) is a k^(th) diagonal element of a diagonal matrix (D) representing precoder power allocation, and [R⁻¹]_(k) is a vector corresponding to a k^(th) row of the first inverted upper triangular matrix (R₁ ⁻¹). After computing the scaling factor (c), the network controller can predict the MCS for each user in the new user group in accordance with the formula:

${{Rate}_{k} = {\log\left( {1 + \frac{c^{2}d_{k}^{2}}{N_{0}}} \right)}},$ where Rate_(k) is the Shannon rate for a k^(th) user, and N₀ is the noise power.

Aspects related to FIG. 5 can also be applied to later stages of MCS adaptation. FIG. 6 illustrates a method 600 for performing MCS adaptation to predict coding rates during linear MU-MIMO user selection, as might be performed by a network controller. The method 600 begins at step 610, where the network controller adds a first new user to an initial user group. Next, the method 600 proceeds to step 620, where the network controller computes a first inverted upper triangular matrix (R₁ ⁻¹) corresponding to a first Hermitian channel matrix (H₁ ^(H)) associated with the first new user group. Thereafter, the method 600 proceeds to step 630, where the network controller adds a second new user to the initial user group to obtain a second new user group.

Subsequently, the method 600 proceeds to step 640, where the network controller computes a second inverted upper triangular matrix (R₂ ⁻¹) corresponding to a second Hermitian channel matrix (H₂ ^(H)) associated with the second new user group. Next, the method 600 proceeds to step 650, where the network controller adds both the first user and the second new user to the initial user group to obtain a combined user group. Thereafter, the method 600 proceeds to step 660, where the network controller computes a third upper triangular matrix (R₁₂) and a third unitary matrix (Q₁₂) corresponding to the third Hermitian matrix (H₁₂ ^(H)). Subsequently, the method 600 proceeds to step 670, where the network controller computes a third inverted upper right triangular matrix (R₂ ⁻¹) directly from the first new upper triangular matrix (R₁ ⁻¹) and the second inverted upper triangular matrix (R₂ ⁻¹) without performing matrix inversion on the third upper triangular matrix (R₁₂). More specifically, the first new upper triangular matrix (R₁ ⁻¹) can be expressed as

${R_{1}^{- 1} = \begin{bmatrix} R^{- 1} & {- {{R^{- 1}\left\lbrack r_{1} \right\rbrack}_{1:K}\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \left\lbrack r_{1} \right\rbrack_{K + 1}^{- 1} \end{bmatrix}},$ the second new inverted upper triangular matrix (R₂ ⁻¹) can be expressed as

${R_{2}^{- 1} = \begin{bmatrix} R^{- 1} & {- {{R^{- 1}\left\lbrack r_{2} \right\rbrack}_{1\text{:}K}\left\lbrack r_{2} \right\rbrack}_{K + 1}^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \left\lbrack r_{2} \right\rbrack_{K + 1}^{- 1} \end{bmatrix}},$ and the third new inverted upper triangular matrix can be expressed as

$R_{12}^{- 1} = {\begin{bmatrix} R_{1}^{- 1} & {{- {R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}K} \\ \alpha \end{bmatrix}}}\beta^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \beta^{- 1} \end{bmatrix}.}$ Finally, the method 600 proceeds to step 680, where the network controller uses the third inverted upper triangular matrix (R₁₂) to calculate MCSs for users in the new user group.

The following is a brief description of the mathematical steps used to achieve aspects of this disclosure. During conventional MCS adaptation for linear MU-MIMO user selection, a zero-forcing MU-MIMO precoder can be expressed as: P_(N×K)=cH^(H)(HH^(H))⁻¹D where D_(K×K) is a diagonal matrix with diagonal elements d₁, . . . , d_(K) to allow power allocation on the columns of precoder, and c is a scalar to limit the transmit power. The transmit signal is given by: x_(N×1)=P_(N×K)u_(K×1), here u_(K×1) is the vector of user signals chosen from a unit power constellation. Without loss of generality, the unit transmit power is given as follows:

tr(PP^(H))=c²tr(H^(H)(HH^(H))⁻¹D²(HH^(H))⁻¹H)

tr(PP^(H))=c²tr(HH^(H))⁻¹D²)

tr(PP^(H))=1

Accordingly, the scaling factor is then given by:

${c = \frac{1}{\sqrt{{tr}\left( {\left( {HH}^{H} \right)^{- 1}D^{2}} \right)}}},$ and the received signal at user k is given by y_(k) cd_(k)u_(k)+z_(k), k=1, . . . , K. In order to calculate the rate of users, (e.g., MCS adaptation for users) from the received signal equation, the scaling factor c is calculated. For instance, if a Shannon rate is used for MCS adaptation, the rate of user k will be given by:

$r_{k} = {{\log\left( {1 + \frac{c^{2}d_{k}^{2}}{N_{0}}} \right)}.}$ Because matrix pseudo-inverse calculation is used to calculate the scaling factor c, the computational complexity of rate calculation (MCS adaptation for users) is on the order of the number of transmit antennas cubed (e.g., complexity is O(N³).

During conventional MCS adaptation for non-linear MU-MIMO user selection, a MU-MIMO channel matrix by (H_(K×N)) of the MU-MIMO channel extending between the transmitter (having K transmit antennas) and a user group (having N users) is obtained through channel estimation. Next, a Hermitian matrix (H^(H)) is obtained by taking the conjugate transpose of the MU-MIMO channel matrix. Thereafter, QR decomposition of the Hermitian matrix (H^(H)) is performed to obtain the upper-right triangular matrix (R_(K+K)) in accordance with the following formula: H^(H)=Q_(N×K)R_(K×K), where Q_(N×K) is the unitary matrix of the Hermitian matrix (H^(H)). The unitary matrix (Q_(N×K)) has orthonormal columns and the upper-right Triangular matrix (R_(K+K)) has diagonal element (r_(kk)) having real, non-zero, values.

The orthogonal columns of (Q_(N×K)) may be expressed in vectors (u_(ii)), with u_(K×1), representing the vector of user signals chosen from a unit power constellation. A nonlinear operation is applied to u_(K×1), to obtain a nonlinearly precoded vector v_(K×1). Hence, the transmitted signal (x_(N×1)) is given by x_(N×1)=Q_(N×K)v_(K×1). The received vector (Y_(K+1)) containing the received signal of users is given by:

$\begin{matrix} {y_{K \times 1} = {{Hx} + z}} \\ {= {{R^{H}Q^{H}{Qv}} + z}} \\ {{= {{R^{H}v} + z}},} \end{matrix}$ where z is circularly symmetric Gaussian noise vector with covariance matrix R_(z)=N₀I.

Accordingly, the original MU-MIMO channel turns into L interference sub-channels:

$\begin{matrix} {{y_{k} = {{r_{kk}v_{k}} + {\sum\limits_{j < k}{r_{jk}^{*}v_{j}}} + z_{k}}},} & {{k = 1},\ldots\mspace{14mu},K,{{{where}\mspace{14mu} r_{jk}} = {\lbrack R\rbrack_{jk}.}}} \end{matrix}$

Hence, user k experiences interference only from users j<k. Dirty paper coding (DPC) can be applied on each sub-channels in (1) to cancel the interference on users. With DPC, the calculated rate of user k is given by

$r_{k} = {{\log\left( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} \right)}.}$ However, DPC may be too complex for practical implementation. A lower complexity alternative to DPC may be zero forcing Tomlinson-Harashima precoding (ZF-THP), which includes the nonlinear step:

v₁ = u₁ $v_{2} = {u_{2} - {\frac{r_{12}^{*}}{r_{22}}v_{1}} + {\tau\; l_{2}}}$ ⋮ ${v_{K} = {u_{K} - {\frac{r_{{({K - 1})}K}^{*}}{r_{KK}}v_{K - 1}} - \ldots - {\frac{r_{1K}^{*}}{r_{KK}}v_{1}} + {\tau\; l_{K}}}},$ where l₂, . . . , l_(K) are complex integers chosen such that elements of the nonlinearly precoded vector v remain within the original constellation boundaries.

Regardless of which conventional approach is relied upon (e.g., DPC, ZF-THP, etc.), the diagonal element of R should be known in order to calculate the MCS for users in the user group.

Assume K users are selected for DL MU-MIMO transmission using ZF-THP. Denote the corresponding MU-MIMO channel matrix by H_(K×N). Let the QR decomposition of H^(H) be given by H^(H)=Q_(N×K)R_(K×K), where Q has orthonormal columns and R is an upper triangular matrix with real entries on the diagonals. Let u_(K×1) be the vector of user signals chosen from a unit power constellation. A nonlinear operation (to be described later) is applied to u_(K×1) to obtain a nonlinearly precoded vector v_(K×1). The transmitted signal is given by x_(N×1)=Q_(N×K)v_(K×1), and the received vector containing the received signal of users is given by

$\begin{matrix} {y_{K \times 1} = {{Hx} + z}} \\ {= {{R^{H}Q^{H}{Qv}} + z}} \\ {{= {{R^{H}v} + z}},} \end{matrix}$ where z is circularly symmetric Gaussian noise vector with covariance matrix R_(z)=N₀I. So the original MU-MIMO channel turns into L interference sub-channels given by

$\begin{matrix} {{y_{k} = {{r_{kk}v_{k}} + {\sum\limits_{j < k}{r_{jk}^{*}v_{j}}} + z_{k}}},} & {{k = 1},\ldots\mspace{14mu},K,{{{where}\mspace{14mu} r_{jk}} = {\lbrack R\rbrack_{jk}.}}} \end{matrix}$ From this, user k experiences interference only from users j<k. Dirty paper coding (DPC) can be applied on each sub-channels to cancel the interference on users. This approach is described in Beal, M. J., Variational algorithms for approximate Bayesian inference, PhD thesis, Gatsby Computational Neuroscience Unit, University College London, 2003, which is incorporated by reference herein as if reproduced in its entirety. With DPC, the calculated rate of user k is given by

$r_{k} = {{\log\left( {1 + \frac{r_{k\; k}^{2}}{K\; N_{0}}} \right)}.}$ DPC may be too complex for implementation. Tomlinson-Harashima precoding (THP) may be a lower complexity approach for interference cancellation. The nonlinear step of ZF-THP is given by:

v₁ = u₁ $v_{2} = {u_{2} - {\frac{r_{12}^{*}}{r_{22}}v_{1}} + {\tau\; l_{2}}}$ ⋮ ${v_{K} = {u_{K} - {\frac{r_{{({K - 1})}K}^{*}}{r_{KK}}v_{K - 1}} - \ldots - {\frac{r_{1K}^{*}}{r_{KK}}v_{1}} + {\tau\; l_{K}}}},$ where l₂, . . . , l_(K) are complex integers chosen such that elements of the nonlinearly precoded vector v remain within the original constellation boundaries.

According to this, in order to calculate the calculated rate of users, the diagonal elements of R is calculated. The complexity of this calculation is O(N³).

The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 3. Let H^(H)=Q_(N×K)R_(K×K). Denote the augmented H by H₁ defined as

$H_{1} = {\begin{bmatrix} H \\ h_{1} \end{bmatrix}_{{({K + 1})} \times N}.}$ Also, denote the corresponding unitary and upper triangular matrices resulted from QR decomposition of H₁ ^(H) by Q₁ and R₁, respectively. We note the following:

$Q_{1} = {{\left\lbrack {Q\mspace{14mu} e_{1}} \right\rbrack_{N \times {({K + 1})}}\mspace{14mu}{and}\mspace{14mu} R_{1}} = {\left\lfloor {\underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R}\mspace{14mu} r_{1}} \right\rfloor_{{({K + 1})} \times {({K + 1})}}.}}$ Therefore, only the last columns of R₁ and Q₁ need to be calculated. This can be done by projecting the last row of the augmented channel to columns of Q denoted by q₁, . . . , q_(K) as follows in the next equations.

${w_{1} = {h_{1}^{H} - {proj}_{q_{1}}^{h_{1}^{H}} - \ldots - {proj}_{q_{K}}^{h_{1}^{H}}}},{{{where}\mspace{14mu}{proj}_{b}^{a}} = {{\frac{\left\langle {b,a} \right\rangle}{\left\langle {b,b} \right\rangle}b\mspace{14mu}{and}\mspace{14mu}\left\langle {a,b} \right\rangle} = {a^{H}b}}},$ The last column of Q₁ is then given by

$e_{1} = \frac{w_{1}}{w_{1}}$ and the elements of column r₁ are given by

$\left\lbrack r_{1} \right\rbrack_{k} = \left\{ {\begin{matrix} \left\langle {q_{k},h_{1}^{H}} \right\rangle & {{k = 1},\ldots\mspace{14mu},K} \\ \left\langle {e_{1},h_{1}^{H}} \right\rangle & {k = {K + 1}} \end{matrix}.} \right.$ Accordingly the computational complexity of QR decomposition of the augmented channel is reduced from O(N³) to O(N²).

The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 4. Let H^(H)=Q_(N×K)R_(K×K) and H₁ and H₂ be the augmented matrices defined as

$H_{1} = {{\begin{bmatrix} H \\ h_{1} \end{bmatrix}_{{({K + 1})} \times N}\mspace{14mu}{and}\mspace{14mu} H_{2}} = \begin{bmatrix} H \\ h_{2} \end{bmatrix}_{{({K + 1})} \times N}}$ with QR decompositions H₁ ^(H)=Q₁R₁ and H₂ ^(H)=Q₂R₂. A low complexity method to calculate the QR decomposition of

$H_{12} = {\begin{bmatrix} H \\ h_{1} \\ h_{2} \end{bmatrix}.}$ Let the QR decomposition of H₁₂ ^(H) be given by H₁₂ ^(H)=Q₁₂R₁₂. Accordingly,

$Q_{12} = {{\begin{bmatrix} Q_{1} & e_{12} \end{bmatrix}_{N \times {({K + 2})}}\mspace{14mu}{and}\mspace{14mu} R_{12}} = \begin{bmatrix} \underset{0\;\ldots\; 0}{R_{1}} & r_{12} \end{bmatrix}_{{({K + 2})} \times {({K + 2})}}}$ are obtained. In order to calculate e₁₂ and r₁₂, previous calculations for both H₁ and H₂ are exploited. The steps for calculating e₁₂ and r₁₂ are as follows.

$w_{12} = {{\underset{\underset{w_{2}}{︸}}{h_{2}^{H} - {proj}_{q_{1}}^{h_{2}^{H}} - \ldots - {proj}_{q_{K}}^{h_{2}^{H}}} - {{proj}_{e_{1}}^{h_{2}^{H}}{and}\mspace{14mu} e_{12}}} = {\frac{w_{12}}{w_{12}}.}}$ Moreover w₂ has been calculated in the QR decomposition of H₂ ^(H) so only one projection is needed and extra calculations can be avoided. The elements of column r₁₂ are given by

$\left\lbrack r_{12} \right\rbrack_{k} = \left\{ {\begin{matrix} \left\langle {q_{k},h_{2}^{H}} \right\rangle & {{k = 1},\ldots\mspace{14mu},K} \\ \left\langle {e_{1},h_{2}^{H}} \right\rangle & {k = {K + 1}} \\ \left\langle {e_{12},h_{2}^{H}} \right\rangle & {k = {K + 2}} \end{matrix}.} \right.$ Further, the first K elements of w₂ have been calculated in the QR decomposition of H₂ ^(H) and only two inner products needs to be calculated. This reduces the computational complexity from O(N³) to O(N).

The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 5. Let H^(H)=Q_(N×K)R_(K×K), then (HH^(H))⁻¹=R⁻¹R^(−H). Therefore, we have

$\begin{matrix} {{{tr}\left( {PP}^{H} \right)} = {c^{2}{{tr}\left( {R^{- 1}R^{- H}D^{2}} \right)}}} \\ {{= {c^{2}{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\left\lbrack R^{- 1} \right\rbrack_{{kth}\mspace{14mu}{row}}}^{2}}}}},} \end{matrix}$ from which

$c = \frac{1}{\sqrt{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\left\lbrack R^{- 1} \right\rbrack_{{kth}\mspace{14mu}{row}}}^{2}}}}$ is derived. The augmented H by H₁ defined above, as are the unitary and upper triangular matrices resulted from QR decomposition of H₁ ^(H) by Q₁ and R₁, respectively. It can be shown that R₁ ⁻¹ has the following form

$R_{1}^{- 1} = \left\lfloor {\underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R^{- 1}}\mspace{14mu} s} \right\rfloor$ where the elements of column s should satisfy the following set of linear equations which are obtained from R₁ ⁻¹R₁=I and

r_(K + 1)s_(K + 1) = 1 ${{{\sum\limits_{j = k}^{K}{\lbrack R\rbrack_{kj}s_{j}}} + {r_{k}s_{K + 1}}} = {{0\mspace{14mu} k} = 1}},2,{\ldots\mspace{14mu}{K.}}$ From the above equations, we obtain

$s_{K + 1} = {\frac{1}{r_{K + 1}}\mspace{14mu}{and}}$ $s_{K} = {\frac{- r_{K}}{\lbrack R\rbrack_{KK}r_{K + 1}}.}$ Suppose s_(K), s_(K−1), . . . , s_(i) are known. The rest of the elements are obtained by successively using the following recurrence equation

$s_{i - 1} = {\frac{- 1}{\lbrack R\rbrack_{{({i - 1})}{({i - 1})}}}{\left( {{\sum\limits_{j = 1}^{K}{\lbrack R\rbrack_{{({i - 1})}j}s_{j}}} - \frac{r_{i - 1}}{r_{K + 1}}} \right).}}$ Once R₁ ⁻¹ is calculated, the updated scaling factor is obtained from R replaced by R₁. The computational complexity using is quadratic with N, thereby reducing the complexity from O(N³) to O(N²).

The following is a brief description of the mathematical steps used to achieve aspects of this disclosure as described in FIG. 6. Let H^(H)=Q_(N×K)R_(K×K) and let H₁, H₂, H₁₂ and their corresponding QR decompositions are given above. As explained before, we have

$R_{1} = {{\left\lfloor {\underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R}\mspace{14mu} r_{1}} \right\rfloor_{{({K + 1})} \times {({K + 1})}}\mspace{14mu}{and}\mspace{14mu} R_{2}} = {\left\lfloor {\underset{0\mspace{14mu}\ldots\mspace{14mu} 0}{R}\mspace{14mu} r_{2}} \right\rfloor_{{({K + 1})} \times {({K + 1})}}.}}$ The first K elements of r₁₂ and r₁ are the same. So, we have

$r_{12} = {\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1:K} \\ \alpha \\ \beta \end{bmatrix}.}$ Thereafter, the following matrix identity is used for inverting a partitioned matrix:

$\begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}^{- 1} = {\begin{bmatrix} F_{11}^{- 1} & {{- F_{11}^{- 1}}A_{12}A_{22}^{- 1}} \\ {{- A_{22}^{- 1}}A_{21}F_{11}^{- 1}} & F_{22}^{- 1} \end{bmatrix}.}$ Applying the above identity to the above partitioned matrices, R₁ ⁻¹ and R₂ ⁻¹ can be expressed in terms of R₁ and R₂ as

$R_{1}^{- 1} = {\begin{bmatrix} R^{- 1} & {- {{R^{- 1}\left\lbrack r_{1} \right\rbrack}_{1:K}\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \left\lbrack r_{1} \right\rbrack_{K + 1}^{- 1} \end{bmatrix}\mspace{14mu}{and}}$ $R_{2}^{- 1} = {\begin{bmatrix} R^{- 1} & {- {{R^{- 1}\left\lbrack r_{2} \right\rbrack}_{1:K}\left\lbrack r_{2} \right\rbrack}_{K + 1}^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \left\lbrack r_{2} \right\rbrack_{K + 1}^{- 1} \end{bmatrix}.}$ Additionally, R₁₂ ⁻¹ is expressed as

$R_{12}^{- 1} = {\begin{bmatrix} R_{1}^{- 1} & {{- {R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1:K} \\ \alpha \end{bmatrix}}}\beta^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \beta^{- 1} \end{bmatrix}.}$ Hence, only

$R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1:K} \\ \alpha \end{bmatrix}$ needs to be calculated. We have

$\begin{matrix} {{R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}\mspace{14mu} K} \\ \alpha \end{bmatrix}} = {\begin{bmatrix} R^{- 1} & {- {{R^{- 1}\left\lbrack r_{1} \right\rbrack}_{1\text{:}\mspace{14mu} K}\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1}} \\ {00\mspace{14mu}\ldots\mspace{14mu} 0} & \left\lbrack r_{1} \right\rbrack_{K +}^{- 1} \end{bmatrix}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}\mspace{14mu} K} \\ \alpha \end{bmatrix}}} \\ {= \begin{bmatrix} {{R^{- 1}\left\lbrack r_{2} \right\rbrack}_{1:K} - {\alpha\;{{R^{- 1}\left\lbrack r_{1} \right\rbrack}_{1\text{:}\mspace{14mu} K}\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1}}} \\ {\alpha\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1} \end{bmatrix}} \end{matrix}$ and R⁻¹[r₁]_(1:K) and R⁻¹[r₂]_(1:K) have already been computed. Therefore,

$R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}\mspace{14mu} K} \\ \alpha \end{bmatrix}$ can be calculated with linear complexity.

FIG. 7 illustrates a block diagram of an embodiment of a communications device 700, which may be equivalent to one or more devices (e.g., UEs, NBs, etc.) discussed above. The communications device 700 may include a processor 704, a memory 706, a cellular interface 710, a supplemental wireless interface 712, and a supplemental interface 714, which may (or may not) be arranged as shown in FIG. 7. The processor 704 may be any component capable of performing computations and/or other processing related tasks, and the memory 706 may be any component capable of storing programming and/or instructions for the processor 704. The cellular interface 710 may be any component or collection of components that allows the communications device 700 to communicate using a cellular signal, and may be used to receive and/or transmit information over a cellular connection of a cellular network. The supplemental wireless interface 712 may be any component or collection of components that allows the communications device 700 to communicate via a non-cellular wireless protocol, such as a Wi-Fi or Bluetooth protocol, or a control protocol. The device 700 may use the cellular interface 710 and/or the supplemental wireless interface 712 to communicate with any wirelessly enabled component, e.g., a base station, relay, mobile device, etc. The supplemental interface 714 may be any component or collection of components that allows the communications device 700 to communicate via a supplemental protocol, including wire-line protocols. In embodiments, the supplemental interface 714 may allow the communications device 700 to communicate with another component, such as a backhaul network component.

While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments. 

What is claimed:
 1. A method for efficiently assigning transmission parameters in a wireless communications network, the method comprising: selecting users for an initial user group in the wireless communications network; computing initial modulation coding schemes (MCSs) for users in the initial user group in the wireless communications network, wherein computing the initial MCSs for the users in the initial user group includes performing an initial QR decomposition operation for the initial user group; adding a new user to the initial user group to obtain a new user group in the wireless communications network; computing a new MCS for the new user in the new user group, wherein computing the new MCS for the new user includes calculating the new MCS directly using information obtained from the initial QR decomposition operation and without performing a QR decomposition operation for the new user group; and communicating the new MCS to a transmitter.
 2. The method of claim 1, wherein performing the initial QR decomposition operation for the initial user group comprises performing QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), and wherein calculating the new MCS comprises computing a last column (r₁) of a new upper triangular matrix (R₁) corresponding to the new user group directly from the initial unitary matrix (Q) and the initial upper triangular matrix (R).
 3. An apparatus comprising: a processor; and a computer readable storage medium storing programming for execution by the processor, the programming adapted to efficiently assign transmission parameters in a wireless communications network, and including instructions to: select users for an initial user group in the wireless communications network; compute initial modulation coding schemes (MCSs) for users in the initial user group, wherein the instruction to compute the initial MCSs for the users in the initial user group includes instructions to perform an initial QR decomposition operation for the initial user group; add a new user to the initial user group to obtain a new user group in the wireless communications network; compute a new MCS for the new user in the new user group, wherein the instruction to compute the new MCS for the new user includes instructions to calculate the new MCS directly using information obtained from the initial QR decomposition operation and without performing a QR decomposition operation for the new user group; and communicate the new MCS to a transmitter in the wireless communications network.
 4. The apparatus of claim 3, wherein the instruction to perform the initial QR decomposition operation for the initial user group includes instructions to perform QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R), and wherein the instruction to calculate the new MCS includes instructions to compute a last column (r₁) of a new upper triangular matrix (R₁) corresponding to the new user group directly from the initial unitary matrix (Q) and the initial upper triangular matrix (R).
 5. A method for efficiently assigning transmission parameters in a wireless communications network, the method comprising: selecting users for an initial user group in the wireless communications network; performing QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R); adding a new user to the initial user group to obtain a new user group in the wireless communications network, the new user group associated with a new Hermitian matrix (H₁ ^(H)); performing modulation coding scheme (MCS) adaptation for the new user group, wherein performing MCS adaptation for the new user group includes: computing a last column (r₁) of a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)) directly from at least the initial unitary matrix (Q) and the initial upper triangular matrix (R), thereby obtaining the new upper triangular matrix (R₁) without performing QR decomposition on the new Hermitian matrix (H₁ ^(H)); and calculating MCSs for users in the new user group in accordance with the new upper triangular matrix (R₁); and communicating the MCSs to at least one transmitter in the wireless communications network.
 6. The method of claim 5, wherein computing the last column (r₁) of the new upper triangular matrix (R₁) comprises: computing a last column (e₁) of a new unitary matrix (Q₁) corresponding to the new Hermitian matrix (H₁ ^(H)) directly from the initial unitary matrix (Q) without performing QR decomposition on the new Hermitian matrix (H₁ ^(H)); and computing the last column (r₁) of the new upper triangular matrix (R₁) in accordance with the last column (e₁) of the new unitary matrix (Q₁).
 7. The method of claim 6, wherein computing the last column (e₁) of the new unitary matrix (Q₁) comprises: computing the last column (e₁) of the new unitary matrix (Q₁) in accordance with the formula: ${e_{1} = \frac{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}{{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}}},$ where h₁ ^(H) is a column in the new Hermitian matrix (H₁ ^(H)) corresponding to the new user, proj_(q) _(k) ^(h) ¹ ^(H) is a vector projection of the h₁ ^(H) onto a k^(th) column (q_(k)) of the initial unitary matrix (Q), and K is a number of users in the initial user group.
 8. The method of claim 7, wherein computing the last column (r₁) of the new upper triangular matrix (R₁) comprises: computing elements of the last column (r₁) of the new upper triangular matrix (R₁) in accordance with the following formula: $\left\lbrack r_{1} \right\rbrack_{k} = \left\{ \begin{matrix} {{< q_{k}},{h_{1}^{H} >}} & {{k = 1},\ldots\mspace{14mu},K} \\ {{< e_{1}},{h_{1}^{H} >}} & {{k = {K + 1}},} \end{matrix} \right.$ where [r₁]_(k) is a value for a k^(th) element of the last column (r₁) of the new upper triangular matrix (R₁), and where (K+1) is a number of users in the new user group.
 9. The method of claim 8, wherein calculating the MCSs for users in the new user group comprises: calculating Shannon rates for users in the new user group in accordance with the formula: ${r_{k} = {\log\left( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} \right)}},$ where r_(k) is a Shannon rate for a k^(th) user in the new user group, and N₀ is a noise power; and obtaining the MCSs for users in the new user group in accordance with a mapping relationship with the Shannon rates for users in the new user group.
 10. An apparatus comprising: a processor; and a computer readable storage medium storing programming for execution by the processor, the programming adapted to efficiently assign transmission parameters in a wireless communications network, and including instructions to: select users for an initial user group in the wireless communications network; perform QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R); add a new user to the initial user group to obtain a new user group in the wireless communications network, the new user group associated with a new Hermitian matrix (H₁ ^(H)); perform modulation coding scheme (MCS) adaptation for the new user group, wherein the instructions to perform MCS adaptation for the new user group includes instructions to compute a last column (r₁) of a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)) directly from at least the initial unitary matrix (Q) and the initial upper triangular matrix (R), thereby obtaining the new upper triangular matrix (R₁) without performing QR decomposition on the new Hermitian matrix (H₁ ^(H)), and to predict MCSs for users in the new user group in accordance with the new upper triangular matrix (R₁); and communicate the MCSs to at least one transmitter in the wireless communications network.
 11. A method for efficiently assigning transmission parameters in a wireless communications network, the method comprising: adding a first new user to an initial user group to obtain a first new user group in the wireless communications network, the first new user group associated with a first new Hermitian matrix (H₁ ^(H)); computing a first new unitary matrix (Q₁) and a first new upper triangular matrix (R₁) corresponding to the first new Hermitian matrix (H₁ ^(H)); adding a second new user to the initial user group to obtain a second new user group in the wireless communications network, the second new user group associated with a second new channel matrix (H₂); computing a second new unitary matrix (Q₂) and a second new upper triangular matrix (R₂) corresponding to the second new Hermitian matrix (H₂ ^(H)); adding both the first new user and the second new user to the initial user group to obtain a third new user group in the wireless communications network, the third new user group associated with a third new channel matrix (H₁₂); performing modulation coding scheme (MCS) adaptation for the third new user group, wherein performing MCS adaptation for the third new user group includes: computing a last column (r₁₂) of a third new upper triangular matrix (R₁₂) corresponding to the third new channel matrix (H₁₂) directly from at least the first new unitary matrix (Q₁), the first new upper triangular matrix (R₁), the second new unitary matrix (Q₂), and the second new upper triangular matrix (R₂), thereby obtaining the third new upper triangular matrix (R₁₂) without performing QR decomposition on the third new Hermitian matrix (H₁₂ ^(H)); and predicting MCSs for users in the new user group in accordance with the third new upper triangular matrix (R₁₂); and communicating the MCSs to at least one transmitter in the wireless communications network.
 12. The method of claim 11, wherein computing the last column (r₁₂) of the third new upper triangular matrix (R₁₂) comprises: computing a last column (e₁₂) of a third new unitary matrix (Q₁₂) corresponding to the third new Hermitian matrix (H₁₂ ^(H)) directly from the first new unitary matrix (Q₁) and the second new unitary matrix (Q₂) without performing QR decomposition on the third new Hermitian matrix (H₁₂ ^(H)); and computing the last column (r₁₂) of the third new upper triangular matrix (R₁₂) in accordance with the last column (e₁₂) of the new unitary matrix (Q₁₂).
 13. The method of claim 11, wherein computing the last column (e₁₂) of the third new unitary matrix (Q₁₂) comprises: computing the last column (e12) of the third new unitary matrix (Q12) in accordance with the formula: ${e_{12} = \frac{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}{{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}}},$ where h₂ ^(H) is a column in the third Hermitian matrix (H₁₂ ^(H)) corresponding to the second new user, proj_(q) _(k) ^(h) ² ^(H) is a vector projection of the h₂ ^(H) onto a k^(th) column (q_(k)) of the first unitary matrix (Q₁), and K is a number of users in the initial user group.
 14. The method of claim 13, wherein computing the last column (r₁₂) of the third new upper triangular matrix (R₁₂) comprises: computing a last column (r₁₂) of the third new upper triangular matrix (R₁₂) in accordance with the following formula: $\left\lbrack r_{12} \right\rbrack_{k} = \left\{ \begin{matrix} {{< q_{k}},{h_{12}^{H} >}} & {{k = 1},\ldots\mspace{14mu},K} \\ {{< e_{1}},{h_{12}^{H} >}} & {k = {K + 1}} \\ {{< e_{12}},{h_{12}^{H} >}} & {{k = {K + 2}},} \end{matrix} \right.$ where [r₁₂]_(k) is a value for a k^(th) element of the last column (r₁₂) of the third upper triangular matrix (R₁₂), h₂ ^(H) is a diagonal element of the third new Hermitian matrix (H₁₂ ^(H)), (K+1) is a number of users in the first new user group, and (K+2) is a number of users in the third new user group.
 15. The method of claim 14, wherein predicting the MCS for users in the third new user group comprises: computing a predicted rate for each user in the third new user group in accordance with the formula: ${r_{k} = {\log\left( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} \right)}},$ where r_(k) is a predicted rate for a k^(th) user in the new user group, and N₀ is a noise power.
 16. A method for efficiently assigning transmission parameters in a wireless communications network, the method comprising: selecting users for an initial user group in the wireless communications network, wherein an initial channel matrix (H) corresponds to the initial user group and a transmitter; performing QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R); inverting the upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R⁻¹); adding a new user to the initial user group to obtain a new user group in the wireless communications network, the new user group associated with a new Hermitian matrix (H₁ ^(H)); performing modulation coding scheme (MCS) adaptation for the new user group, wherein performing MCS adaptation for the new user group includes: computing a new unitary matrix (Q₁) and a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)); computing a last column (s₁) of a new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the new upper triangular matrix (R₁) directly from at least the new unitary matrix (Q₁) and a last column (r₁) of the new upper triangular matrix (R₁), thereby obtaining the new inverted upper triangular matrix (R₁ ⁻¹) without performing matrix inversion on the new upper triangular matrix (R₁); and predicting MCSs for users in the new user group in accordance with the new inverted upper triangular matrix (R₁ ⁻¹); and communicating the MCSs to at least one transmitter in the wireless communications network.
 17. The method of claim 16, wherein computing the last column (s₁) of a new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the new upper triangular matrix (R₁) comprises: computing the last column (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹) in accordance with the formula: $\left\lbrack s_{1} \right\rbrack_{k} = \left\{ \begin{matrix} {{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}\left( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\left\lbrack s_{1} \right\rbrack}_{j}} - \frac{\left\lbrack r_{1} \right\rbrack_{k}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}} \right)},} & {{k = 1},\ldots\mspace{14mu},\left( {K - 1} \right)} \\ {\frac{- \left\lbrack r_{1} \right\rbrack_{K}}{{\lbrack R\rbrack_{KK}\left\lbrack r_{1} \right\rbrack}_{K + 1}},} & {k = K} \\ {\frac{1}{\left\lbrack r_{1} \right\rbrack_{K + 1}},} & {{k = {K + 1}},} \end{matrix} \right.$ where [s₁]_(k) is a value for a k^(th) element of the last column (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹), [R]_((k)(k)) a diagonal element of a k^(th) row of the new upper triangular matrix (R₁); [R]_((k)j) is a j^(th) element of the k^(th) row of the new upper triangular matrix (R₁), $\frac{\left\lbrack r_{1} \right\rbrack_{k}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}$ is a ratio of the k^(th) element of the last column of the new upper triangular matrix (R₁) to the bottom most element of the last column (r₁) of the new upper triangular matrix (R₁), and (K+1) is a number of users in the new user group.
 18. An apparatus comprising: a processor; and a computer readable storage medium storing programming for execution by the processor, the programming adapted to efficiently assign transmission parameters in a wireless communications network, and including instructions to: select users for an initial user group in the wireless communications network, wherein an initial channel matrix (H) corresponds to the initial user group and a transmitter; perform QR decomposition on an initial Hermitian matrix (H^(H)) associated with the initial user group to obtain an initial unitary matrix (Q) and an initial upper triangular matrix (R); invert the upper triangular matrix (R) to obtain an initial inverted upper triangular matrix (R⁻¹); add a new user to the initial user group to obtain a new user group in the wireless communications network, the new user group associated with a new Hermitian matrix (H₁ ^(H)); perform modulation coding scheme (MCS) adaptation for the new user group, wherein the instructions to perform MCS adaptation for the new user group includes instructions to compute an new unitary matrix (Q₁) and a new upper triangular matrix (R₁) corresponding to the new Hermitian matrix (H₁ ^(H)), to compute a last column (s₁) of a new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the new upper triangular matrix (R₁) directly from at least the new unitary matrix (Q₁) and a last column (r₁) of the new upper triangular matrix (R₁), thereby obtaining the new inverted upper triangular matrix (R₁ ⁻¹) without performing matrix inversion on new upper triangular matrix (R₁), and to predict MCSs for users in the new user group in accordance with the new inverted upper triangular matrix (R₁ ⁻¹); and communicate the MCSs to at least one transmitter in the wireless communications network.
 19. The apparatus of claim 18, wherein the instructions to compute the last column (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the new upper triangular matrix (R₁) comprise instructions to: compute the last column (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹) in accordance with the formula: $\left\lbrack s_{1} \right\rbrack_{k} = \left\{ \begin{matrix} {{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}\left( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\left\lbrack s_{1} \right\rbrack}_{j}} - \frac{\left\lbrack r_{1} \right\rbrack_{k}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}} \right)},} & {{k = 1},\ldots\mspace{14mu},\left( {K - 1} \right)} \\ {\frac{- \left\lbrack r_{1} \right\rbrack_{K}}{{\lbrack R\rbrack_{KK}\left\lbrack r_{1} \right\rbrack}_{K + 1}},} & {k = K} \\ {\frac{1}{\left\lbrack r_{1} \right\rbrack_{K + 1}},} & {{k = {K + 1}},} \end{matrix} \right.$ where [s₁]_(k) is a value for a k^(th) element of the last column (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹), [R]_((k)(k)) is a diagonal element of a k^(th) row of the new upper triangular matrix (R₁); [R]_((k)j) is a j^(th) element of the k^(th) row of the new upper triangular matrix (R₁), $\frac{\left\lbrack r_{1} \right\rbrack_{k}}{\left\lbrack r_{1} \right\rbrack_{K + 1}}$ is a ratio of the k^(th) element of the last column of the new upper triangular matrix (R₁) to the bottom-most element of the last column (r₁) of the new upper triangular matrix (R₁), and (K+1) is a number of users in the new user group.
 20. A method for efficiently assigning transmission parameters in a wireless communications network, the method comprising: adding a first new user to an initial user group to obtain a first new user group in the wireless communications network, the first new user group associated with a first new Hermitian matrix (H₁ ^(H)); and computing a first new inverted upper triangular matrix (R₁ ⁻¹) corresponding to the first new Hermitian matrix (H₁ ^(H)); adding a second new user to the initial user group to obtain a second new user group in the wireless communications network, the second new user group associated with a second new channel matrix (H₂); computing a second new inverted upper triangular matrix (R₂ ⁻¹) corresponding to the second new Hermitian matrix (H₂ ^(H)); adding both the first new user and the second new user to the initial user group to obtain a third new user group in the wireless communications network, the third new user group associated with a third new channel matrix (H₁₂); performing modulation coding scheme (MCS) adaptation for the third new user group, wherein performing MCS adaptation for the third new user group includes: computing a third new unitary matrix (Q₁₂) and a third new upper triangular matrix (R₁₂) corresponding to the third new Hermitian matrix (H₁₂ ^(H)); computing a last column (s₁₂) of a third new inverted upper triangular matrix (R₁₂ ⁻¹) corresponding to the third new upper triangular matrix (R₁₂) directly from at least the first new inverted upper triangular matrix (R₁ ⁻¹), a last column (s₁₂) of the second new inverted upper triangular matrix (R₂ ⁻¹), the third new Hermitian matrix (H₁₂ ^(H)), and the third new unitary matrix (Q₁₂), thereby obtaining the third new inverted upper triangular matrix (R₁₂ ⁻¹) without performing matrix inversion on the third new upper triangular matrix (R₁₂); and predicting MCSs for users in the third new user group in accordance with the third new inverted upper triangular matrix (R₁₂ ⁻¹); and communicating the MCSs to at least one transmitter in the wireless communications network.
 21. The method of claim 20, wherein computing the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) comprises: computing the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) in accordance with the formula: ${s_{12} = \begin{bmatrix} {{- {R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}\mspace{14mu} K} \\ \alpha \end{bmatrix}}}\beta^{- 1}} \\ \beta^{- 1} \end{bmatrix}},{{where} - {{R_{1}^{- 1}\begin{bmatrix} \left\lbrack r_{2} \right\rbrack_{1\text{:}\mspace{14mu} K} \\ \alpha \end{bmatrix}}\beta^{- 1}}}$ is a vector corresponding to the first K+1 elements of the last column (s₁₂) of the new inverted upper triangular matrix (R₁₂ ⁻¹), where β⁻¹ is the last element of the last column (s₁₂) of the new inverted upper triangular matrix (R₁₂ ⁻¹), R₁ ⁻¹ is the first new inverted upper triangular matrix, [r₂]_(1:K) is a column vector containing the first K elements of the last column of the second upper triangular matrix (R₂), α is the inner product (<e₁,h₂ ^(H)>) of the second to last column (e₁) of the third new unitary matrix (Q₁₂) and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), and β is the inner product (<e₁₂,h₂ ^(H)>) of the last column (e₁₂) of the third new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)).
 22. The method of claim 20, wherein computing the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) comprises: computing the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) in accordance with the formulas: $\left\lbrack s_{12} \right\rbrack_{{1\text{:}\mspace{14mu} K} + 1} = {{- \begin{bmatrix} {{R^{- 1}\left\lbrack r_{2} \right\rbrack}_{1\text{:}\mspace{14mu} K} - {\alpha\;{{R^{- 1}\left\lbrack r_{1} \right\rbrack}_{1\text{:}\mspace{14mu} K}\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1}}} \\ {\alpha\left\lbrack r_{1} \right\rbrack}_{K + 1}^{- 1} \end{bmatrix}}\beta^{- 1}}$ and[s₁₂]_(K + 2) = β⁻¹, where [s₁₂]_(1:K+1) is a column vector containing the first K+1 elements of the last column (s₁₂) the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹), [s₁₂]_(K+2) is the last element of the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹), R⁻¹ is an initial inverted upper triangular matrix associated with the initial user group, [r₂]_(1:K) is a column vector containing the first K elements of the last column of the second upper triangular matrix (R₂), [r₁]_(1:K) is a column vector containing the first K elements of the last column of the first upper triangular matrix (R₁), [r₁]_(K+1) ⁻¹ is the inverse of [r₁]_(K+1), α is the inner product (<e₁,h₂ ^(H)>) of the second to last column (e₁) of the third new unitary matrix (Q₁₂) and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), β is the inner product (<e₁₂,h₂ ^(H)>) of the last column (e₁₂) of the third new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), and β⁻¹ is the inverse of β.
 23. The method of claim 20, wherein computing the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) comprises: obtaining the first K elements([s₁₂]_(1:K)) of the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) by: obtaining a first column vector by multiplying the first K elements ([s₂]_(1:K)) of the last column of the second new inverted upper triangular matrix (R₂ ⁻¹) by the product of β⁻¹ and the last element ([r₂]_(K+1)) of the second upper triangular matrix (R₂); obtaining a second column vector by multiplying the first K elements ([s₁]_(1:K)) of the last column of the first new inverted upper triangular matrix (R₁ ⁻¹) by −αβ⁻¹; and adding the first column vector and the second column vector to obtain the first K elements of s₁₂; obtaining a second to last element ([s₁₂]_(K+1)) of the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) in accordance with the formula: [s₁₂]_(K+1)=αβ⁻¹[r₁]_(K+1) ⁻¹; and obtaining a last element ([s₁₂]_(K+2)) of the last column (s₁₂) of the third new inverted upper triangular matrix (R₁₂ ⁻¹) in accordance with the formula: [s₁₂]_(K+2)=β⁻¹, where [r₂]_(K+1) is a last element of the second upper triangular matrix (R₂); [r₁]_(K+1) ⁻¹ is the inverse of [r₂]_(K+1), α is the inner product (<e₁,h₂ ^(H)>) of the second to last column (e₁) of the third new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), and β is the inner product (<e₁₂,h₂ ^(H)>) of the last column (e₁₂) of the third new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), and β⁻¹ is the inverse of β. 